package cn.itcast.web.controller.stat;

import cn.itcast.service.stat.StatService;
import cn.itcast.web.controller.BaseController;
import com.alibaba.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("/stat")
public class StatController extends BaseController {

	@Reference
	private StatService statService;

	/**
	 * 进入到页面
	 */
	@RequestMapping("/toCharts")
	public String toCharts(String chartsType) {  //factory  online
		return "stat/stat-"+chartsType;
	}

	/**
	 * 配置controller方法，接收ajax请求
	 * 响应json数据
	 *      厂家销量统计 :
	 *         根据生产厂家的名称，统计厂家的销售总额
	 */
	@RequestMapping("/getFactoryData")
	public @ResponseBody List<Map> getFactoryData() {
		return statService.findFactoryData(getLoginCompanyId());
	}

	/**
	 * 产品销售额的排行榜：根据货号排序，获取销量排行的前10名
	 */
	@RequestMapping("/getSellData")
	public @ResponseBody List<Map> getSellData() {
		return statService.findSellData(getLoginCompanyId());
	}

	/**
	 * 系统访问压力图
	 *  按照小时统计，每小时访问系统的人数
	 */
	@RequestMapping("/getOnlineData")
	public @ResponseBody List<Map> getOnlineData() {
		return statService.findOnlineData(getLoginCompanyId());
	}
}
